package com.qcloud;

/**
 * Created by YYY on 2017/7/8.
 */

import com.qcloud.listener.QCloudMsgListener;
import com.qcloud.listener.QCloudMsgResponse;

import java.util.Map;

/**

 * @since 2017年2月20日

 * @author kalman03

 */

public interface QCloudClient {

    /**
     * 执行腾讯云的Rest API接口请求
     * @param request
     * @return
     * @throws QCloudException
     */

    <T extends QCloudResponse> T execute(QCloudRequest<T> request)throws QCloudException;

    /**
     * 处理腾讯云的回调消息
     */

    QCloudMsgResponse doMsgProcess(QCloudMsgListener    msgListener, String msgBody, Map<String,Object> urlParams)throws QCloudException ;

}